home *** CD-ROM | disk | FTP | other *** search
/ Delphi Magazine Collection 2001 / Delphi Magazine Collection 20001 (2001).iso / DISKS / Issue30 / diffm133 / DIFFM133.ZIP / SOURCE / Diff.dpr < prev    next >
Encoding:
Text File  |  1997-12-26  |  1.7 KB  |  64 lines

  1. program diff;
  2.  
  3. uses
  4.   classes,
  5.   sysutils,
  6.   aDiff in 'aDiff.pas';
  7.  
  8. procedure NotifyMe;
  9. begin
  10.   Write('.');
  11. end;
  12.  
  13. var
  14.   maxlev:integer;
  15.   InStream,OutStream,UseStream:TFileStream;
  16.  
  17. begin
  18.   Writeln('Difference Maker  Version 1.33');
  19.   Writeln('Copyright (c) 1997 S.Kurinny & S.Kostinsky');
  20.   If (ParamCount<4) or (not (paramstr(1)[1] in ['a','A','e','E','X','x'])) then
  21.   begin
  22.     Writeln;
  23.     Writeln('Use: Diff <a|e> <In_file> <out_file> <use_file> [comp_level]');
  24.     Writeln;
  25.     Writeln('Comp_level - 10..1000  (25 by default)');
  26.     Writeln('            (10   - max. speed, min. comp. ratio)');
  27.     Writeln('            (1000 - min. speed, max. comp. ratio)');
  28.     Writeln;
  29.     Writeln('Use_file   - old file name');
  30.     Writeln('In_file    - input file name');
  31.     Writeln('Out_file   - output file name');
  32.     Writeln;
  33.     Writeln('a - compress  e - extract');
  34.  
  35.     Writeln;
  36.     Writeln('Press ENTER');
  37.     Readln;
  38.     exit;
  39.   end;
  40.   InStream:=TFileStream.Create(Paramstr(2),fmopenread+fmShareDenyNone);
  41.   OutStream:=TFileStream.Create(Paramstr(3),fmcreate);
  42.   UseStream:=TFileStream.Create(Paramstr(4),fmopenread+fmShareDenyNone);
  43.   try
  44.     Case paramstr(1)[1] of
  45.     'a','A':
  46.       begin
  47.       Writeln('Compressing...');
  48.       if paramcount>4 then maxlev:=strtoint(paramstr(5)) else maxlev:=25;
  49.       DiffStreamCompress(InStream,UseStream,OutStream,NotifyMe,MaxLev);
  50.       end;
  51.     'e','E','x','X':
  52.       begin
  53.       Writeln('Extracting...');
  54.       DiffStreamExtract(InStream,UseStream,OutStream,NotifyMe);
  55.       end;
  56.     end;
  57.   finally
  58.     InStream.Free;
  59.     OutStream.Free;
  60.     UseStream.Free;
  61.   end;
  62.   Writeln;Writeln('Ok');
  63. end.
  64.